package org.gd.hellojaxb.privat24.deposits;

import org.gd.hellojaxb.adapters.IntAdaptersFactory;
import org.gd.hellojaxb.privat24.regular.RegularPayBank;

import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

@XmlRootElement(name = "id")
@XmlAccessorType(XmlAccessType.NONE)
@XmlType(propOrder = {"userId", "id", "inn", "bank", "sessionId"})
public class DepositRequestId {
    /**
     * ид запроса(уникальный в пачке)
     */
    @XmlAttribute(name = "ID")
    @XmlJavaTypeAdapter(IntAdaptersFactory.Long.class)
    private Long id;
    /**
     * инн клиента
     */
    @XmlAttribute(name = "inn")
    @XmlJavaTypeAdapter(IntAdaptersFactory.Long.class)
    private Long inn;
    /**
     * ид клиента
     */
    @XmlAttribute(name = "IdCl")
    @XmlJavaTypeAdapter(IntAdaptersFactory.Long.class)
    private Long userId;
    /**
     * ид сессии проминя
     */
    @XmlAttribute(name = "promin")
    private String sessionId;
    /**
     * код банка(PB, TG, AB, MP, PL)
     */
    @XmlAttribute(name = "bank")
    private RegularPayBank bank;

    public DepositRequestId() {
    }

    public Long getId() {
        return id;
    }

    public DepositRequestId setId(Long id) {
        this.id = id;
        return this;
    }

    public Long getInn() {
        return inn;
    }

    public DepositRequestId setInn(Long inn) {
        this.inn = inn;
        return this;
    }

    public Long getUserId() {
        return userId;
    }

    public DepositRequestId setUserId(Long userId) {
        this.userId = userId;
        return this;
    }

    public String getSessionId() {
        return sessionId;
    }

    public DepositRequestId setSessionId(String sessionId) {
        this.sessionId = sessionId;
        return this;
    }

    public RegularPayBank getBank() {
        return bank;
    }

    public DepositRequestId setBank(RegularPayBank bank) {
        this.bank = bank;
        return this;
    }
}
